home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / oop_tp55.zip / LIST2_1.PAS < prev    next >
Pascal/Delphi Source File  |  1990-03-08  |  2KB  |  135 lines

  1. program Listing2_1;
  2.  
  3. type
  4.  
  5. SexType = (male, female);
  6. String20 = string[20];
  7.  
  8. NameRec = record
  9.           Last   : String20;
  10.           Middle : String20;
  11.           First  : String20;
  12.           end;
  13.  
  14. Person = object
  15.          Name  : NameRec;
  16.          Sex   : SexType;
  17.          Email : String20;
  18.          procedure Init( FName, MName, LName : String20;
  19.                           Gender : SexType;
  20.                           E_mail : String20 );
  21.          procedure SendMsg( Msg : string );
  22. end;
  23.  
  24. procedure Person.Init( FName, MName, LName : String20;
  25.                        Gender : SexType;
  26.                        E_mail : String20 );
  27. begin
  28.      Name.First := FName;
  29.      Name.Middle := MName;
  30.      Name.Last := LName;
  31.      Sex := Gender;
  32.      Email := E_mail;
  33. end;
  34.  
  35. procedure Person.SendMsg( Msg : string );
  36. var
  37.    Title : string[3];
  38. begin
  39.      if Sex = male then
  40.         Title := 'Mr.'
  41.      else
  42.         Title := 'Ms.';
  43.      writeln( 'TO: ', Title, ' ', Name.Last );
  44.      writeln( 'ADDRESS: ', Email );
  45.      writeln( '-----------------------------------------');
  46.      writeln( Msg );
  47.      writeln;
  48. end;
  49.  
  50. var
  51.  
  52.    JohnDoe   : Person;
  53.    JaneDoe   : Person;
  54.    NickGogol : Person;
  55.  
  56. begin
  57.  
  58.  
  59.      JohnDoe.Init( 'John', 'A.', 'Doe',   male, 'EM987' );
  60.      JaneDoe.Init( 'Jane', 'A.', 'Doe', female, 'EM789' );
  61.      NickGogol.Init( 'Nikolai', 'Vasilievich', 'Gogol',
  62.                       male, 'DS000' );
  63.  
  64.      JohnDoe.SendMsg( 'Your library books are overdue.' );
  65.      NickGogol.SendMsg(
  66.           'The books you ordered are at the bookstore.');
  67.      JaneDoe.SendMsg(
  68.       'The physics midterm has been postponed two weeks.');
  69.  
  70. end.
  71.  
  72.  
  73. { Listing2-1 }
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.